//当前状态(数据源)
const state = {
    count: 1,
    list: [1, 3, 5, 7, 9, 20, 30]
}
//改变状态
const mutations = {
    //增加
    //actions提交时, 在mutations中接收param参数
    increment(state, param) {
        state.count += param
        console.log(param)
    },
    //删减
    decrement(state) {
        if (state.count > 0) state.count--
    }
}
//提交改变的状态 
const actions = {
    //提交时传递一个参数
    increment: ({ commit }, param) => {
        //提交传递的参数
        commit('increment', param)
    },
    decrement: ({ commit }) => {
        commit('decrement')
    }
}

//等于全局的共享computed(各种计算), filter(过滤)
const getters = {
   //过滤出大于5的数
   filterList: state => {
      return state.list.filter(item => item > 5);
   },
   //获取list列表长度
   listCount: (state, getters) => {
      return getters.filterList.length;
   }
}
export default {
    namespaced: true,
    state,
    mutations,
    actions,
    getters
}
/**
 * state 访问状态对象
 * mutations 修改状态
 * actions 提交修改状态, 并更新state      
 * getters vuex中的全局computed          计算过滤属性
 * modules vuex中的全局状态分模块化管理   模块组
 */